package com.jrx.anytxn.investor.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "batchconfig.investor")
public class AnytxnBatchProperties {
    /**
     * 默认配置
     */
    private DefaultConfig defaultConfig = new DefaultConfig();

    /**
     * 抛帐作业属性
     */
    private DefaultConfig castAcctConfig = new DefaultConfig(1000, 0, 32, 50000);

    /**
     * 计息作业配置
     */
    private DefaultConfig interestAccrualConfig = new DefaultConfig(1000, 0, 32, 50000);
    /**
     * 日切作业配置
     */
    private DefaultConfig cutoverConfiguration =new DefaultConfig(100, 0, 1, 1000);

    /**
     * 批扣初始化配置
     */
    private DefaultConfig autoPaymentInitConfiguration=new DefaultConfig(1000, 0, 32, 50000);

    /**
     * 批扣配置
     */
    private DefaultConfig autoPaymentConfiguration=new DefaultConfig(1000, 0, 16, 10000);

    /**
     * 延滞初始化作业配置
     */
    private DefaultConfig delqInitConfig = new DefaultConfig(2000, 0, 16, 50000);
    /**
     * 延滞作业配置
     */
    private DefaultConfig delqConfig = new DefaultConfig(1000, 0, 24, 50000);

    /**
     * 延滞转表外作业配置
     */
    private DefaultConfig delqTransOutConfig = new DefaultConfig(1000, 0, 32, 50000);

    /**
     * 延滞转内外作业配置
     */
    private DefaultConfig delqTransInConfig = new DefaultConfig(1000, 0, 32, 50000);

    /**
     * 更新借据未抛帐利息，罚息，复利
     */
    private DefaultConfig updateUncastIntr = new DefaultConfig(2000, 0, 16, 50000);

    /**
     * 还款提醒短信配置
     */
    private DefaultConfig payReminderConfig=new DefaultConfig(100, 0, 1, 1000);

    /**
     * 核销处理配置
     */
    private DefaultConfig chargeoffConfig=new DefaultConfig(100, 0, 1, 1000);

    /**
     * 核销批量扣款配置
     */
    private DefaultConfig chargeoffPaymentConfig=new DefaultConfig(100, 0, 1, 100);

    /**
     * 催收准备
     */
    private DefaultConfig collectionConfig=new DefaultConfig(100, 0, 8, 1000);

    /**
     * 代偿回购数据准备作业
     */
    private DefaultConfig cmpsCrtPreJobConfig=new DefaultConfig(100, 0, 8, 1000);

    /**
     * 代偿扣款准备
     */
    private DefaultConfig cmpsPaymentPreJobConfig=new DefaultConfig(100, 0, 8, 1000);

    /**
     * 回购扣款准备
     */
    private DefaultConfig crtPaymentPreJobConfig=new DefaultConfig(100, 0, 8, 1000);

    /**
     * 代偿回购扣款
     */
    private DefaultConfig guaranteeJobConfig=new DefaultConfig(100, 0, 8, 1000);

    private DefaultConfig fileConfig = new DefaultConfig(1000,0,1,10000);


    public DefaultConfig getFileConfig() {
        return fileConfig;
    }

    public void setFileConfig(DefaultConfig fileConfig) {
        this.fileConfig = fileConfig;
    }

    public DefaultConfig getDefaultConfig() {
        return defaultConfig;
    }

    public void setDefaultConfig(DefaultConfig defaultConfig) {
        this.defaultConfig = defaultConfig;
    }

    public DefaultConfig getCastAcctConfig() {
        return castAcctConfig;
    }

    public void setCastAcctConfig(DefaultConfig castAcctConfig) {
        this.castAcctConfig = castAcctConfig;
    }

    public DefaultConfig getInterestAccrualConfig() {
        return interestAccrualConfig;
    }

    public void setInterestAccrualConfig(DefaultConfig interestAccrualConfig) {
        this.interestAccrualConfig = interestAccrualConfig;
    }

    public DefaultConfig getDelqConfig() {
        return delqConfig;
    }

    public void setDelqConfig(DefaultConfig delqConfig) {
        this.delqConfig = delqConfig;
    }

    public DefaultConfig getCutoverConfiguration() {
        return cutoverConfiguration;
    }

    public void setCutoverConfiguration(DefaultConfig cutoverConfiguration) {
        this.cutoverConfiguration = cutoverConfiguration;
    }

    public DefaultConfig getAutoPaymentInitConfiguration() {
        return autoPaymentInitConfiguration;
    }

    public void setAutoPaymentInitConfiguration(DefaultConfig autoPaymentInitConfiguration) {
        this.autoPaymentInitConfiguration = autoPaymentInitConfiguration;
    }

    public DefaultConfig getAutoPaymentConfiguration() {
        return autoPaymentConfiguration;
    }

    public void setAutoPaymentConfiguration(DefaultConfig autoPaymentConfiguration) {
        this.autoPaymentConfiguration = autoPaymentConfiguration;
    }


    public DefaultConfig getDelqInitConfig() {
        return delqInitConfig;
    }

    public void setDelqInitConfig(DefaultConfig delqInitConfig) {
        this.delqInitConfig = delqInitConfig;
    }

    public DefaultConfig getDelqTransOutConfig() {
        return delqTransOutConfig;
    }

    public void setDelqTransOutConfig(DefaultConfig delqTransOutConfig) {
        this.delqTransOutConfig = delqTransOutConfig;
    }

    public DefaultConfig getDelqTransInConfig() {
        return delqTransInConfig;
    }

    public void setDelqTransInConfig(DefaultConfig delqTransInConfig) {
        this.delqTransInConfig = delqTransInConfig;
    }

    public DefaultConfig getUpdateUncastIntr() {
        return updateUncastIntr;
    }

    public void setUpdateUncastIntr(DefaultConfig updateUncastIntr) {
        this.updateUncastIntr = updateUncastIntr;
    }

    public DefaultConfig getPayReminderConfig() {
        return payReminderConfig;
    }

    public void setPayReminderConfig(DefaultConfig payReminderConfig) {
        this.payReminderConfig = payReminderConfig;
    }

    public DefaultConfig getChargeoffConfig() {
        return chargeoffConfig;
    }

    public void setChargeoffConfig(DefaultConfig chargeoffConfig) {
        this.chargeoffConfig = chargeoffConfig;
    }

    public DefaultConfig getChargeoffPaymentConfig() {
        return chargeoffPaymentConfig;
    }

    public void setChargeoffPaymentConfig(DefaultConfig chargeoffPaymentConfig) {
        this.chargeoffPaymentConfig = chargeoffPaymentConfig;
    }

    public DefaultConfig getCollectionConfig() {
        return collectionConfig;
    }

    public void setCollectionConfig(DefaultConfig collectionConfig) {
        this.collectionConfig = collectionConfig;
    }

    public DefaultConfig getCmpsCrtPreJobConfig() {
        return cmpsCrtPreJobConfig;
    }

    public void setCmpsCrtPreJobConfig(DefaultConfig cmpsCrtPreJobConfig) {
        this.cmpsCrtPreJobConfig = cmpsCrtPreJobConfig;
    }

    public DefaultConfig getCmpsPaymentPreJobConfig() {
        return cmpsPaymentPreJobConfig;
    }

    public void setCmpsPaymentPreJobConfig(DefaultConfig cmpsPaymentPreJobConfig) {
        this.cmpsPaymentPreJobConfig = cmpsPaymentPreJobConfig;
    }

    public DefaultConfig getCrtPaymentPreJobConfig() {
        return crtPaymentPreJobConfig;
    }

    public void setCrtPaymentPreJobConfig(DefaultConfig crtPaymentPreJobConfig) {
        this.crtPaymentPreJobConfig = crtPaymentPreJobConfig;
    }

    public DefaultConfig getGuaranteeJobConfig() {
        return guaranteeJobConfig;
    }

    public void setGuaranteeJobConfig(DefaultConfig guaranteeJobConfig) {
        this.guaranteeJobConfig = guaranteeJobConfig;
    }
}
